// 搭建服务器
// 引入http模块
let http = require("http")
let fs = require("fs")
let path = require("path")

// 创建服务器   server服务器对象
let server = http.createServer()

// 监听端口
server.listen(3000, () => {
    console.log("ok");
})


// 监听客户端的请求事件
server.on("request", (req, res) => {

    res.setHeader("Content-Type", "text/html;charset=utf-8")




    let { pathname, searchParams } = new URL(req.url, "http://localhost:3000")

    // console.log(searchParams);


    // 用户先获取注册页面：渲染页面(get)
    if (pathname == "/aaa") {

        // 读取文件
        let file = fs.readFileSync(path.join(__dirname, "./html/a.html"))
        res.end(file) //只能接收字符串和buffer
    }


    // 渲染index首页
    if (pathname == "/index") {

        // 读取文件
        let file = fs.readFileSync(path.join(__dirname, "./html/index.html"))
        res.end(file) //只能接收字符串和buffer
    }







    //提交注册：处理用户的提交请求（post  暂时先用get）
    if (pathname == "/bbb") {
        // console.log(req.url);

        // 判空
        let username = searchParams.get('username')
        let password = searchParams.get('password')
        // console.log(username,password,11111111111111);
        if (!username) {

            res.end("<h1>用户名不能为空</h1>")
            return  // 如果为空就不要继续执行了
        }
        if (!password) {

            res.end("<h1>密码不能为空</h1>")
            return  // 如果为空就不要继续执行了
        }



        // 获取后端数据
        let filepath=path.join(__dirname, "./data/persons.json")
        let data = JSON.parse(fs.readFileSync(filepath, "utf-8"))
  




        //和后端数据做对比
        let index = data.findIndex(value =>value.username == username)


        /* if(index==-1){
            // 执行中蹙额
            res.end("可以注册")
        }else{
            // 
            res.end("用户名已被占用")
        } */

        // 错误优先, 先把错误的情况处理一下
        if(index!=-1){
            res.end("用户名已被占用")
            return  // 代码不要继续执行了

        }

        // 执行注册
        data.push( {username,password }  )

        // 把data重新写入json文件中
        fs.writeFileSync( filepath, JSON.stringify(data))

        // res.end(`
        //     <script>
        //         alert("注册成功")
        //         location.href="http://localhost:3000/index"
        //     </script>
        // `)

        
        res.end(fs.readFileSync(path.join(__dirname, "./html/ok.html")))
      

    }

})